package com.dingpeikeji.quickdeer.modules.rcpt.entity;

import java.util.Date;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;

import com.dingpeikeji.quickdeer.core.common.persistence.DataEntity;
import com.dingpeikeji.quickdeer.core.modules.sys.entity.User;

/**
 * 发票信息Entity
 * @author dingpei
 * @version 2017-03-03
 */
public class TRcpt extends DataEntity<TRcpt> {
	
	private static final long serialVersionUID = 1L;
	
	public static final String RCPT_ST_APPLY = "1"; 
	public static final String RCPT_ST_CHECKED = "2";
	
	private Integer rcptid;		// 主键
	private String rcpttype;		// 发票类型
	private String title;		// 发票抬头
	private String address;		// 收件地址
	private String receiver;		// 收件人
	private Double rcptamount;		// 发票金额
	private String rcptStatus; // 状态
	private User	confirmid;		//确认人
	private Date	confirmdate;
	private String mobile; // 手机号
	private String postcode;	// 	邮编
	private String outkmsfee; // 超公里标准价
	private String outtimefee; // 超时长标准价
	private String dirverfee; // 司机食宿费
	private Double totalOutkmsfee;		// 发票金额
	private Double totalOuttimefee;		// 发票金额
	private Double totalRirverfee;		// 发票金额
	private String totalPrice; // 总金额
	private String dutyParagraph;// 纳税人识别号
	private String content;		// 发票内容
	public TRcpt() {
		super();
	}

	public TRcpt(String id){
		super(id);
	}


	public Double getTotalOutkmsfee() {
		return totalOutkmsfee;
	}

	public void setTotalOutkmsfee(Double totalOutkmsfee) {
		this.totalOutkmsfee = totalOutkmsfee;
	}

	public Double getTotalOuttimefee() {
		return totalOuttimefee;
	}

	public void setTotalOuttimefee(Double totalOuttimefee) {
		this.totalOuttimefee = totalOuttimefee;
	}

	public Double getTotalRirverfee() {
		return totalRirverfee;
	}

	public void setTotalRirverfee(Double totalRirverfee) {
		this.totalRirverfee = totalRirverfee;
	}

	public String getTotalPrice() {
		return totalPrice;
	}

	public void setTotalPrice(String totalPrice) {
		this.totalPrice = totalPrice;
	}

	public String getDutyParagraph() {
		return dutyParagraph;
	}

	public void setDutyParagraph(String dutyParagraph) {
		this.dutyParagraph = dutyParagraph;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getOutkmsfee() {
		return outkmsfee;
	}

	public void setOutkmsfee(String outkmsfee) {
		this.outkmsfee = outkmsfee;
	}

	public String getOuttimefee() {
		return outtimefee;
	}

	public void setOuttimefee(String outtimefee) {
		this.outtimefee = outtimefee;
	}

	public String getDirverfee() {
		return dirverfee;
	}

	public void setDirverfee(String dirverfee) {
		this.dirverfee = dirverfee;
	}

	@NotNull(message="主键不能为空")
	public Integer getRcptid() {
		return rcptid;
	}

	public void setRcptid(Integer rcptid) {
		this.rcptid = rcptid;
	}
	
	@Length(min=1, max=1, message="发票类型长度必须介于 1 和 1 之间")
	public String getRcpttype() {
		return rcpttype;
	}

	public void setRcpttype(String rcpttype) {
		this.rcpttype = rcpttype;
	}
	
	@Length(min=1, max=200, message="发票抬头长度必须介于 1 和 200 之间")
	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}
	
	@Length(min=1, max=200, message="收件地址长度必须介于 1 和 200 之间")
	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}
	
	@Length(min=1, max=50, message="收件人长度必须介于 1 和 50 之间")
	public String getReceiver() {
		return receiver;
	}

	public void setReceiver(String receiver) {
		this.receiver = receiver;
	}
	
	@NotNull(message="发票金额不能为空")
	public Double getRcptamount() {
		return rcptamount;
	}

	public void setRcptamount(Double rcptamount) {
		this.rcptamount = rcptamount;
	}

	public String getRcptStatus() {
		return rcptStatus;
	}

	public void setRcptStatus(String rcptStatus) {
		this.rcptStatus = rcptStatus;
	}

	public User getConfirmid() {
		return confirmid;
	}

	public void setConfirmid(User confirmid) {
		this.confirmid = confirmid;
	}

	public Date getConfirmdate() {
		return confirmdate;
	}

	public void setConfirmdate(Date confirmdate) {
		this.confirmdate = confirmdate;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getPostcode() {
		return postcode;
	}

	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}
	
}